#pragma strict
import System.Collections.Generic;
/////////////////////////////////////////////////////////////////////////////
//效果控制,鼠标触碰,显示 轮廓线
/////////////////////////////////////////////////////////////////////////////

var outlineMat:Material;
var root:Transform;

var color1:Color;
var color2:Color;

var widthSpeed:float = 0.0125; //轮廓线 变化速度
var maxWidth:float = 0.0125; //轮廓线 最大宽度

var showLineAnim:boolean = true; //轮廓线动画?

var materialChanger:MaterialChangerMotor;


function Start () {
	if(! root)
		root = transform;
	
	materialChanger = new MaterialChangerMotor(root,[outlineMat],typeof(Renderer));
}

function OnMouseEnter(){
	materialChanger.AddMat();
}
function OnMouseExit(){
	materialChanger.RemoveMat();
}

function OnMouseOver(){
	if(showLineAnim){
		outlineMat.SetColor("_OutlineColor",GetLerpColor());
		outlineMat.SetFloat("_Outline",GetLineWidth());
	}
}

/** 渐变颜色 */
function GetLerpColor():Color{
	var t:float = Mathf.PingPong(Time.time,1);
	return Color.Lerp(color1,color2,t);
}
/** 渐变宽度 */
function GetLineWidth():float{
	return Mathf.PingPong(Time.time * widthSpeed,maxWidth);
}